#ifndef CAMERA_H__
#define CAMERA_H__

#include "ProjectHeader.h"

class Camera
{
	//I'm going to use this naming scheme for this class:
	//
	//function names		- PascalCase
	//passed variables		- camalCase
	//local class variables - _PrecedingUnderscore
	//local scope variables - camalCase
	//Global variables/defs - ALL_CAPS_WITH_UNDERSCORES

public:
	
	void UpdateTarget(vertex2f, GLfloat speed);
	void UpdateTarget_NoSpeed(vertex2f);

	void SetZPos(GLfloat zPos);
	void SetFOV(GLdouble minFOV, GLfloat thresholdSpeed, GLdouble maxFOV, GLfloat highSpeed);
	void SetScreenParams(vertex2f screenSize, GLdouble nearClip, GLdouble farClip);

	void SetOrthoView(GLdouble NearClip, GLdouble FarClip);

	void SetOrthoActive();

private:

	GLfloat _zPos;
	GLfloat _thresholdSpeed;
	GLfloat _highSpeed;
	GLdouble _aspect;
	GLdouble _minFOV;
	GLdouble _maxFOV;
	GLdouble _nearClip;
	GLdouble _farClip;
	vertex2f _oldTarget;
	GLdouble _orthoNearClip;
	GLdouble _orthoFarClip;

};

#endif